;--- include file created by h2incx v0.99.17, copyright 2005-2006 japheth
;--- source file: D:\MICROS~1\INCLUDE\WinTrust.h, last modified: 5/23/2001 19:38
;--- cmdline used for creation:  -i -d3 -o ASM2 wintrust.h

ifndef WINTRUST_H
WINTRUST_H	EQU	<>
if _MSC_VER gt 1000
;#pragma once 
endif 
	include wincrypt.inc
ifdef __cplusplus
;extern "C"
;{
endif 
ifndef WIN_CERT_REVISION_1_0
WT_DEFINE_ALL_APIS	EQU	<>
else 
;#undef WT_DEFINE_ALL_APIS 
endif 
	include pshpack8.inc
WINTRUST_DATA	struct 
cbStruct	DWORD	?
pPolicyCallbackData	LPVOID	?
pSIPClientData	LPVOID	?
dwUIChoice	DWORD	?
WTD_UI_ALL	EQU	1
WTD_UI_NONE	EQU	2
WTD_UI_NOBAD	EQU	3
WTD_UI_NOGOOD	EQU	4
fdwRevocationChecks	DWORD	?
WTD_REVOKE_NONE	EQU	00000000h
WTD_REVOKE_WHOLECHAIN	EQU	00000001h
dwUnionChoice	DWORD	?
WTD_CHOICE_FILE	EQU	1
WTD_CHOICE_CATALOG	EQU	2
WTD_CHOICE_BLOB	EQU	3
WTD_CHOICE_SIGNER	EQU	4
WTD_CHOICE_CERT	EQU	5
union
pFile DWORD ?
pCatalog DWORD ?
pBlob DWORD ?
pSgnr DWORD ?
pCert DWORD ?
ends
dwStateAction	DWORD	?
WTD_STATEACTION_IGNORE	EQU	00000000h
WTD_STATEACTION_VERIFY	EQU	00000001h
WTD_STATEACTION_CLOSE	EQU	00000002h
WTD_STATEACTION_AUTO_CACHE	EQU	00000003h
WTD_STATEACTION_AUTO_CACHE_FLUSH	EQU	00000004h
hWVTStateData	HANDLE	?
pwszURLReference	DWORD	?
dwProvFlags	DWORD	?
WTD_PROV_FLAGS_MASK	EQU	0000FFFFh
WTD_USE_IE4_TRUST_FLAG	EQU	00000001h
WTD_NO_IE4_CHAIN_FLAG	EQU	00000002h
WTD_NO_POLICY_USAGE_FLAG	EQU	00000004h
WTD_REVOCATION_CHECK_NONE	EQU	00000010h
WTD_REVOCATION_CHECK_END_CERT	EQU	00000020h
WTD_REVOCATION_CHECK_CHAIN	EQU	00000040h
WTD_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT	EQU	00000080h
WTD_SAFER_FLAG	EQU	00000100h
WTD_HASH_ONLY_FLAG	EQU	00000200h
WTD_USE_DEFAULT_OSVER_CHECK	EQU	00000400h
WTD_LIFETIME_SIGNING_FLAG	EQU	00000800h
WINTRUST_DATA	ends

PWINTRUST_DATA typedef ptr WINTRUST_DATA

WINTRUST_FILE_INFO	struct 
cbStruct	DWORD	?
pcwszFilePath	LPWSTR	?
hFile	HANDLE	?
pgKnownSubject	DWORD	?
WINTRUST_FILE_INFO	ends

PWINTRUST_FILE_INFO typedef ptr WINTRUST_FILE_INFO

WINTRUST_CATALOG_INFO	struct 
cbStruct	DWORD	?
dwCatalogVersion	DWORD	?
pcwszCatalogFilePath	LPWSTR	?
pcwszMemberTag	LPWSTR	?
pcwszMemberFilePath	LPWSTR	?
hMemberFile	HANDLE	?
pbCalculatedFileHash	DWORD	?
cbCalculatedFileHash	DWORD	?
pcCatalogContext	PCCTL_CONTEXT	?
WINTRUST_CATALOG_INFO	ends

PWINTRUST_CATALOG_INFO typedef ptr WINTRUST_CATALOG_INFO

WINTRUST_BLOB_INFO	struct 
cbStruct	DWORD	?
gSubject	GUID	<>
pcwszDisplayName	LPWSTR	?
cbMemObject	DWORD	?
pbMemObject	DWORD	?
cbMemSignedMsg	DWORD	?
pbMemSignedMsg	DWORD	?
WINTRUST_BLOB_INFO	ends

PWINTRUST_BLOB_INFO typedef ptr WINTRUST_BLOB_INFO

WINTRUST_SGNR_INFO	struct 
cbStruct	DWORD	?
pcwszDisplayName	LPWSTR	?
psSignerInfo	DWORD	?
chStores	DWORD	?
pahStores	DWORD	?
WINTRUST_SGNR_INFO	ends

PWINTRUST_SGNR_INFO typedef ptr WINTRUST_SGNR_INFO

WINTRUST_CERT_INFO	struct 
cbStruct	DWORD	?
pcwszDisplayName	LPWSTR	?
psCertContext	DWORD	?
chStores	DWORD	?
pahStores	DWORD	?
dwFlags	DWORD	?
WTCI_DONT_OPEN_STORES	EQU	00000001h
WTCI_OPEN_ONLY_ROOT	EQU	00000002h
psftVerifyAsOf	DWORD	?
WINTRUST_CERT_INFO	ends

PWINTRUST_CERT_INFO typedef ptr WINTRUST_CERT_INFO

	include poppack.inc
WinVerifyTrust proto stdcall :HWND, :ptr GUID, :LPVOID
WTPF_TRUSTTEST	EQU	00000020h
WTPF_TESTCANBEVALID	EQU	00000080h
WTPF_IGNOREEXPIRATION	EQU	00000100h
WTPF_IGNOREREVOKATION	EQU	00000200h
WTPF_OFFLINEOK_IND	EQU	00000400h
WTPF_OFFLINEOK_COM	EQU	00000800h
WTPF_OFFLINEOKNBU_IND	EQU	00001000h
WTPF_OFFLINEOKNBU_COM	EQU	00002000h
WTPF_VERIFY_V1_OFF	EQU	00010000h
WTPF_IGNOREREVOCATIONONTS	EQU	00020000h
WTPF_ALLOWONLYPERTRUST	EQU	00040000h
WintrustGetRegPolicyFlags proto stdcall :ptr DWORD
WintrustSetRegPolicyFlags proto stdcall :DWORD
TRUSTERROR_STEP_WVTPARAMS	EQU	0
TRUSTERROR_STEP_FILEIO	EQU	2
TRUSTERROR_STEP_SIP	EQU	3
TRUSTERROR_STEP_SIPSUBJINFO	EQU	5
TRUSTERROR_STEP_CATALOGFILE	EQU	6
TRUSTERROR_STEP_CERTSTORE	EQU	7
TRUSTERROR_STEP_MESSAGE	EQU	8
TRUSTERROR_STEP_MSG_SIGNERCOUNT	EQU	9
TRUSTERROR_STEP_MSG_INNERCNTTYPE	EQU	10
TRUSTERROR_STEP_MSG_INNERCNT	EQU	11
TRUSTERROR_STEP_MSG_STORE	EQU	12
TRUSTERROR_STEP_MSG_SIGNERINFO	EQU	13
TRUSTERROR_STEP_MSG_SIGNERCERT	EQU	14
TRUSTERROR_STEP_MSG_CERTCHAIN	EQU	15
TRUSTERROR_STEP_MSG_COUNTERSIGINFO	EQU	16
TRUSTERROR_STEP_MSG_COUNTERSIGCERT	EQU	17
TRUSTERROR_STEP_VERIFY_MSGHASH	EQU	18
TRUSTERROR_STEP_VERIFY_MSGINDIRECTDATA	EQU	19
TRUSTERROR_STEP_FINAL_WVTINIT	EQU	30
TRUSTERROR_STEP_FINAL_INITPROV	EQU	31
TRUSTERROR_STEP_FINAL_OBJPROV	EQU	32
TRUSTERROR_STEP_FINAL_SIGPROV	EQU	33
TRUSTERROR_STEP_FINAL_CERTPROV	EQU	34
TRUSTERROR_STEP_FINAL_CERTCHKPROV	EQU	35
TRUSTERROR_STEP_FINAL_POLICYPROV	EQU	36
TRUSTERROR_STEP_FINAL_UIPROV	EQU	37
TRUSTERROR_MAX_STEPS	EQU	38
proto_PFN_CPD_MEM_ALLOC typedef proto  :DWORD
PFN_CPD_MEM_ALLOC typedef ptr proto_PFN_CPD_MEM_ALLOC
proto_PFN_CPD_MEM_FREE typedef proto  :ptr 
PFN_CPD_MEM_FREE typedef ptr proto_PFN_CPD_MEM_FREE
proto_PFN_CPD_ADD_STORE typedef proto  :ptr _CRYPT_PROVIDER_DATA,:HCERTSTORE
PFN_CPD_ADD_STORE typedef ptr proto_PFN_CPD_ADD_STORE
proto_PFN_CPD_ADD_SGNR typedef proto  :ptr _CRYPT_PROVIDER_DATA,:BOOL,:DWORD,:ptr _CRYPT_PROVIDER_SGNR
PFN_CPD_ADD_SGNR typedef ptr proto_PFN_CPD_ADD_SGNR
proto_PFN_CPD_ADD_CERT typedef proto  :ptr _CRYPT_PROVIDER_DATA,:DWORD,:BOOL,:DWORD,:PCCERT_CONTEXT
PFN_CPD_ADD_CERT typedef ptr proto_PFN_CPD_ADD_CERT
proto_PFN_CPD_ADD_PRIVDATA typedef proto  :ptr _CRYPT_PROVIDER_DATA,:ptr _CRYPT_PROVIDER_PRIVDATA
PFN_CPD_ADD_PRIVDATA typedef ptr proto_PFN_CPD_ADD_PRIVDATA
proto_PFN_PROVIDER_INIT_CALL typedef proto  :ptr _CRYPT_PROVIDER_DATA
PFN_PROVIDER_INIT_CALL typedef ptr proto_PFN_PROVIDER_INIT_CALL
proto_PFN_PROVIDER_OBJTRUST_CALL typedef proto  :ptr _CRYPT_PROVIDER_DATA
PFN_PROVIDER_OBJTRUST_CALL typedef ptr proto_PFN_PROVIDER_OBJTRUST_CALL
proto_PFN_PROVIDER_SIGTRUST_CALL typedef proto  :ptr _CRYPT_PROVIDER_DATA
PFN_PROVIDER_SIGTRUST_CALL typedef ptr proto_PFN_PROVIDER_SIGTRUST_CALL
proto_PFN_PROVIDER_CERTTRUST_CALL typedef proto  :ptr _CRYPT_PROVIDER_DATA
PFN_PROVIDER_CERTTRUST_CALL typedef ptr proto_PFN_PROVIDER_CERTTRUST_CALL
proto_PFN_PROVIDER_FINALPOLICY_CALL typedef proto  :ptr _CRYPT_PROVIDER_DATA
PFN_PROVIDER_FINALPOLICY_CALL typedef ptr proto_PFN_PROVIDER_FINALPOLICY_CALL
proto_PFN_PROVIDER_TESTFINALPOLICY_CALL typedef proto  :ptr _CRYPT_PROVIDER_DATA
PFN_PROVIDER_TESTFINALPOLICY_CALL typedef ptr proto_PFN_PROVIDER_TESTFINALPOLICY_CALL
proto_PFN_PROVIDER_CLEANUP_CALL typedef proto  :ptr _CRYPT_PROVIDER_DATA
PFN_PROVIDER_CLEANUP_CALL typedef ptr proto_PFN_PROVIDER_CLEANUP_CALL
proto_PFN_PROVIDER_CERTCHKPOLICY_CALL typedef proto  :ptr _CRYPT_PROVIDER_DATA,:DWORD,:BOOL,:DWORD
PFN_PROVIDER_CERTCHKPOLICY_CALL typedef ptr proto_PFN_PROVIDER_CERTCHKPOLICY_CALL
WVT_OFFSETOF macro t,f
	exitm <t.f>
	endm
WVT_ISINSTRUCT macro structtypedef,structpassedsize,member
	if WVT_OFFSETOF ( structtypedef , member ) lt structpassedsize
		exitm <TRUE>
	else
		exitm <FALSE>
	endif
	endm
WVT_IS_CBSTRUCT_GT_MEMBEROFFSET macro structtypedef,structpassedsize,member
	exitm <WVT_ISINSTRUCT ( structtypedef , structpassedsize , member ) >
	endm
	include pshpack8.inc
CRYPT_PROVIDER_DATA	struct 
cbStruct	DWORD	?
pWintrustData	DWORD	?
fOpenedFile	BOOL	?
hWndParent	HWND	?
pgActionID	DWORD	?
hProv	HCRYPTPROV	?
dwError	DWORD	?
dwRegSecuritySettings	DWORD	?
dwRegPolicySettings	DWORD	?
psPfns DWORD ?
cdwTrustStepErrors	DWORD	?
padwTrustStepErrors	DWORD	?
chStores	DWORD	?
pahStores	DWORD	?
dwEncoding	DWORD	?
hMsg	HCRYPTMSG	?
csSigners	DWORD	?
pasSigners DWORD ?
csProvPrivData	DWORD	?
pasProvPrivData DWORD ?
dwSubjectChoice	DWORD	?
CPD_CHOICE_SIP	EQU	1
union
pPDSip DWORD ?
ends
pszUsageOID	DWORD	?
fRecallWithState	BOOL	?
sftSystemTime	FILETIME	<>
pszCTLSignerUsageOID	DWORD	?
dwProvFlags	DWORD	?
CPD_USE_NT5_CHAIN_FLAG	EQU	80000000h
CPD_REVOCATION_CHECK_NONE	EQU	00010000h
CPD_REVOCATION_CHECK_END_CERT	EQU	00020000h
CPD_REVOCATION_CHECK_CHAIN	EQU	00040000h
CPD_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT	EQU	00080000h
dwFinalError	DWORD	?
pRequestUsage	PCERT_USAGE_MATCH	?
dwTrustPubSettings	DWORD	?
CRYPT_PROVIDER_DATA	ends

PCRYPT_PROVIDER_DATA typedef ptr CRYPT_PROVIDER_DATA

CRYPT_PROVIDER_FUNCTIONS	struct 
cbStruct	DWORD	?
pfnAlloc	PFN_CPD_MEM_ALLOC	?
pfnFree	PFN_CPD_MEM_FREE	?
pfnAddStore2Chain	PFN_CPD_ADD_STORE	?
pfnAddSgnr2Chain	PFN_CPD_ADD_SGNR	?
pfnAddCert2Chain	PFN_CPD_ADD_CERT	?
pfnAddPrivData2Chain	PFN_CPD_ADD_PRIVDATA	?
pfnInitialize	PFN_PROVIDER_INIT_CALL	?
pfnObjectTrust	PFN_PROVIDER_OBJTRUST_CALL	?
pfnSignatureTrust	PFN_PROVIDER_SIGTRUST_CALL	?
pfnCertificateTrust	PFN_PROVIDER_CERTTRUST_CALL	?
pfnFinalPolicy	PFN_PROVIDER_FINALPOLICY_CALL	?
pfnCertCheckPolicy	PFN_PROVIDER_CERTCHKPOLICY_CALL	?
pfnTestFinalPolicy	PFN_PROVIDER_TESTFINALPOLICY_CALL	?
psUIpfns DWORD ?
pfnCleanupPolicy	PFN_PROVIDER_CLEANUP_CALL	?
CRYPT_PROVIDER_FUNCTIONS	ends

PCRYPT_PROVIDER_FUNCTIONS typedef ptr CRYPT_PROVIDER_FUNCTIONS

proto_PFN_PROVUI_CALL typedef proto  :HWND,:ptr _CRYPT_PROVIDER_DATA
PFN_PROVUI_CALL typedef ptr proto_PFN_PROVUI_CALL
CRYPT_PROVUI_FUNCS	struct 
cbStruct	DWORD	?
psUIData DWORD ?
pfnOnMoreInfoClick	PFN_PROVUI_CALL	?
pfnOnMoreInfoClickDefault	PFN_PROVUI_CALL	?
pfnOnAdvancedClick	PFN_PROVUI_CALL	?
pfnOnAdvancedClickDefault	PFN_PROVUI_CALL	?
CRYPT_PROVUI_FUNCS	ends

PCRYPT_PROVUI_FUNCS typedef ptr CRYPT_PROVUI_FUNCS

CRYPT_PROVUI_DATA	struct 
cbStruct	DWORD	?
dwFinalError	DWORD	?
pYesButtonText	DWORD	?
pNoButtonText	DWORD	?
pMoreInfoButtonText	DWORD	?
pAdvancedLinkText	DWORD	?
pCopyActionText	DWORD	?
pCopyActionTextNoTS	DWORD	?
pCopyActionTextNotSigned	DWORD	?
CRYPT_PROVUI_DATA	ends

PCRYPT_PROVUI_DATA typedef ptr CRYPT_PROVUI_DATA

CRYPT_PROVIDER_SGNR	struct 
cbStruct	DWORD	?
sftVerifyAsOf	FILETIME	<>
csCertChain	DWORD	?
pasCertChain DWORD ?
dwSignerType	DWORD	?
SGNR_TYPE_TIMESTAMP	EQU	00000010h
psSigner	DWORD	?
dwError	DWORD	?
csCounterSigners	DWORD	?
pasCounterSigners DWORD ?
pChainContext	PCCERT_CHAIN_CONTEXT	?
CRYPT_PROVIDER_SGNR	ends

PCRYPT_PROVIDER_SGNR typedef ptr CRYPT_PROVIDER_SGNR

CRYPT_PROVIDER_CERT	struct 
cbStruct	DWORD	?
pCert	PCCERT_CONTEXT	?
fCommercial	BOOL	?
fTrustedRoot	BOOL	?
fSelfSigned	BOOL	?
fTestCert	BOOL	?
dwRevokedReason	DWORD	?
dwConfidence	DWORD	?
CERT_CONFIDENCE_SIG	EQU	10000000h
CERT_CONFIDENCE_TIME	EQU	01000000h
CERT_CONFIDENCE_TIMENEST	EQU	00100000h
CERT_CONFIDENCE_AUTHIDEXT	EQU	00010000h
CERT_CONFIDENCE_HYGIENE	EQU	00001000h
CERT_CONFIDENCE_HIGHEST	EQU	11111000h
dwError	DWORD	?
pTrustListContext	DWORD	?
fTrustListSignerCert	BOOL	?
pCtlContext	PCCTL_CONTEXT	?
dwCtlError	DWORD	?
fIsCyclic	BOOL	?
pChainElement	PCERT_CHAIN_ELEMENT	?
CRYPT_PROVIDER_CERT	ends

PCRYPT_PROVIDER_CERT typedef ptr CRYPT_PROVIDER_CERT

CRYPT_PROVIDER_PRIVDATA	struct 
cbStruct	DWORD	?
gProviderID	GUID	<>
cbProvData	DWORD	?
pvProvData	DWORD	?
CRYPT_PROVIDER_PRIVDATA	ends

PCRYPT_PROVIDER_PRIVDATA typedef ptr CRYPT_PROVIDER_PRIVDATA

PROVDATA_SIP	struct 
cbStruct	DWORD	?
gSubject	GUID	<>
pSip DWORD ?
pCATSip DWORD ?
psSipSubjectInfo DWORD ?
psSipCATSubjectInfo DWORD ?
psIndirectData DWORD ?
PROVDATA_SIP	ends

PPROVDATA_SIP typedef ptr PROVDATA_SIP

WT_CURRENT_VERSION	EQU	00000200h
CRYPT_TRUST_REG_ENTRY	struct 
cbStruct	DWORD	?
pwszDLLName	DWORD	?
pwszFunctionName	DWORD	?
CRYPT_TRUST_REG_ENTRY	ends

PCRYPT_TRUST_REG_ENTRY typedef ptr CRYPT_TRUST_REG_ENTRY

CRYPT_REGISTER_ACTIONID	struct 
cbStruct	DWORD	?
sInitProvider	CRYPT_TRUST_REG_ENTRY	<>
sObjectProvider	CRYPT_TRUST_REG_ENTRY	<>
sSignatureProvider	CRYPT_TRUST_REG_ENTRY	<>
sCertificateProvider	CRYPT_TRUST_REG_ENTRY	<>
sCertificatePolicyProvider	CRYPT_TRUST_REG_ENTRY	<>
sFinalPolicyProvider	CRYPT_TRUST_REG_ENTRY	<>
sTestPolicyProvider	CRYPT_TRUST_REG_ENTRY	<>
sCleanupProvider	CRYPT_TRUST_REG_ENTRY	<>
CRYPT_REGISTER_ACTIONID	ends

PCRYPT_REGISTER_ACTIONID typedef ptr CRYPT_REGISTER_ACTIONID

proto_PFN_ALLOCANDFILLDEFUSAGE typedef proto  :ptr SBYTE,:ptr _CRYPT_PROVIDER_DEFUSAGE
PFN_ALLOCANDFILLDEFUSAGE typedef ptr proto_PFN_ALLOCANDFILLDEFUSAGE
proto_PFN_FREEDEFUSAGE typedef proto  :ptr SBYTE,:ptr _CRYPT_PROVIDER_DEFUSAGE
PFN_FREEDEFUSAGE typedef ptr proto_PFN_FREEDEFUSAGE
CRYPT_PROVIDER_REGDEFUSAGE	struct 
cbStruct	DWORD	?
pgActionID	DWORD	?
pwszDllName	DWORD	?
pwszLoadCallbackDataFunctionName	DWORD	?
pwszFreeCallbackDataFunctionName	DWORD	?
CRYPT_PROVIDER_REGDEFUSAGE	ends

PCRYPT_PROVIDER_REGDEFUSAGE typedef ptr CRYPT_PROVIDER_REGDEFUSAGE

CRYPT_PROVIDER_DEFUSAGE	struct 
cbStruct	DWORD	?
gActionID	GUID	<>
pDefPolicyCallbackData	LPVOID	?
pDefSIPClientData	LPVOID	?
CRYPT_PROVIDER_DEFUSAGE	ends

PCRYPT_PROVIDER_DEFUSAGE typedef ptr CRYPT_PROVIDER_DEFUSAGE

	include poppack.inc
WT_PROVIDER_DLL_NAME	EQU	<L("WINTRUST.DLL")>
WT_PROVIDER_CERTTRUST_FUNCTION	EQU	<L("WintrustCertificateTrust")>
WintrustAddActionID proto stdcall :ptr GUID, :DWORD, :ptr CRYPT_REGISTER_ACTIONID
WT_ADD_ACTION_ID_RET_RESULT_FLAG	EQU	1h
WintrustRemoveActionID proto stdcall :ptr GUID
WintrustLoadFunctionPointers proto stdcall :ptr GUID, :ptr CRYPT_PROVIDER_FUNCTIONS
WintrustAddDefaultForUsage proto stdcall :ptr SBYTE, :ptr CRYPT_PROVIDER_REGDEFUSAGE
DWACTION_ALLOCANDFILL	EQU	1
DWACTION_FREE	EQU	2
WintrustGetDefaultForUsage proto stdcall :DWORD, :ptr SBYTE, :ptr CRYPT_PROVIDER_DEFUSAGE
WTHelperGetProvSignerFromChain proto stdcall :ptr CRYPT_PROVIDER_DATA, :DWORD, :BOOL, :DWORD
WTHelperGetProvCertFromChain proto stdcall :ptr CRYPT_PROVIDER_SGNR, :DWORD
WTHelperProvDataFromStateData proto stdcall :HANDLE
WTHelperGetProvPrivateDataFromChain proto stdcall :ptr CRYPT_PROVIDER_DATA, :ptr GUID
WTHelperCertIsSelfSigned proto stdcall :DWORD, :ptr CERT_INFO
	include pshpack8.inc
szOID_TRUSTED_CODESIGNING_CA_LIST	EQU	<"1.3.6.1.4.1.311.2.2.1">
szOID_TRUSTED_CLIENT_AUTH_CA_LIST	EQU	<"1.3.6.1.4.1.311.2.2.2">
szOID_TRUSTED_SERVER_AUTH_CA_LIST	EQU	<"1.3.6.1.4.1.311.2.2.3">
SPC_COMMON_NAME_OBJID	EQU	<szOID_COMMON_NAME>
SPC_TIME_STAMP_REQUEST_OBJID	EQU	<"1.3.6.1.4.1.311.3.2.1">
SPC_INDIRECT_DATA_OBJID	EQU	<"1.3.6.1.4.1.311.2.1.4">
SPC_SP_AGENCY_INFO_OBJID	EQU	<"1.3.6.1.4.1.311.2.1.10">
SPC_STATEMENT_TYPE_OBJID	EQU	<"1.3.6.1.4.1.311.2.1.11">
SPC_SP_OPUS_INFO_OBJID	EQU	<"1.3.6.1.4.1.311.2.1.12">
SPC_CERT_EXTENSIONS_OBJID	EQU	<"1.3.6.1.4.1.311.2.1.14">
SPC_PE_IMAGE_DATA_OBJID	EQU	<"1.3.6.1.4.1.311.2.1.15">
SPC_RAW_FILE_DATA_OBJID	EQU	<"1.3.6.1.4.1.311.2.1.18">
SPC_STRUCTURED_STORAGE_DATA_OBJID	EQU	<"1.3.6.1.4.1.311.2.1.19">
SPC_JAVA_CLASS_DATA_OBJID	EQU	<"1.3.6.1.4.1.311.2.1.20">
SPC_INDIVIDUAL_SP_KEY_PURPOSE_OBJID	EQU	<"1.3.6.1.4.1.311.2.1.21">
SPC_COMMERCIAL_SP_KEY_PURPOSE_OBJID	EQU	<"1.3.6.1.4.1.311.2.1.22">
SPC_CAB_DATA_OBJID	EQU	<"1.3.6.1.4.1.311.2.1.25">
SPC_GLUE_RDN_OBJID	EQU	<"1.3.6.1.4.1.311.2.1.25">
SPC_MINIMAL_CRITERIA_OBJID	EQU	<"1.3.6.1.4.1.311.2.1.26">
SPC_FINANCIAL_CRITERIA_OBJID	EQU	<"1.3.6.1.4.1.311.2.1.27">
SPC_LINK_OBJID	EQU	<"1.3.6.1.4.1.311.2.1.28">
SPC_SIGINFO_OBJID	EQU	<"1.3.6.1.4.1.311.2.1.30">
CAT_NAMEVALUE_OBJID	EQU	<"1.3.6.1.4.1.311.12.2.1">
CAT_MEMBERINFO_OBJID	EQU	<"1.3.6.1.4.1.311.12.2.2">
SPC_SP_AGENCY_INFO_STRUCT	EQU	2000
SPC_MINIMAL_CRITERIA_STRUCT	EQU	2001
SPC_FINANCIAL_CRITERIA_STRUCT	EQU	2002
SPC_INDIRECT_DATA_CONTENT_STRUCT	EQU	2003
SPC_PE_IMAGE_DATA_STRUCT	EQU	2004
SPC_LINK_STRUCT	EQU	2005
SPC_STATEMENT_TYPE_STRUCT	EQU	2006
SPC_SP_OPUS_INFO_STRUCT	EQU	2007
SPC_CAB_DATA_STRUCT	EQU	2008
SPC_JAVA_CLASS_DATA_STRUCT	EQU	2009
SPC_SIGINFO_STRUCT	EQU	2130
CAT_NAMEVALUE_STRUCT	EQU	2221
CAT_MEMBERINFO_STRUCT	EQU	2222
SPC_UUID_LENGTH	EQU	16
SPC_UUID typedef BYTE
SPC_SERIALIZED_OBJECT	struct 
ClassId	SPC_UUID	?
SerializedData	CRYPT_DATA_BLOB	<>
SPC_SERIALIZED_OBJECT	ends

PSPC_SERIALIZED_OBJECT typedef ptr SPC_SERIALIZED_OBJECT

SPC_SIGINFO	struct 
dwSipVersion	DWORD	?
gSIPGuid	GUID	<>
dwReserved1	DWORD	?
dwReserved2	DWORD	?
dwReserved3	DWORD	?
dwReserved4	DWORD	?
dwReserved5	DWORD	?
SPC_SIGINFO	ends

PSPC_SIGINFO typedef ptr SPC_SIGINFO

SPC_LINK	struct 
dwLinkChoice	DWORD	?
SPC_URL_LINK_CHOICE	EQU	1
SPC_MONIKER_LINK_CHOICE	EQU	2
SPC_FILE_LINK_CHOICE	EQU	3
union
pwszUrl	LPWSTR	?
Moniker	SPC_SERIALIZED_OBJECT	<>
pwszFile	LPWSTR	?
ends
SPC_LINK	ends

PSPC_LINK typedef ptr SPC_LINK

SPC_PE_IMAGE_DATA	struct 
Flags	CRYPT_BIT_BLOB	<>
pFile	PSPC_LINK	?
SPC_PE_IMAGE_DATA	ends

PSPC_PE_IMAGE_DATA typedef ptr SPC_PE_IMAGE_DATA

SPC_INDIRECT_DATA_CONTENT	struct 
Data	CRYPT_ATTRIBUTE_TYPE_VALUE	<>
DigestAlgorithm	CRYPT_ALGORITHM_IDENTIFIER	<>
Digest	CRYPT_HASH_BLOB	<>
SPC_INDIRECT_DATA_CONTENT	ends

PSPC_INDIRECT_DATA_CONTENT typedef ptr SPC_INDIRECT_DATA_CONTENT

SPC_FINANCIAL_CRITERIA	struct 
fFinancialInfoAvailable	BOOL	?
fMeetsCriteria	BOOL	?
SPC_FINANCIAL_CRITERIA	ends

PSPC_FINANCIAL_CRITERIA typedef ptr SPC_FINANCIAL_CRITERIA

SPC_IMAGE	struct 
pImageLink DWORD ?
Bitmap	CRYPT_DATA_BLOB	<>
Metafile	CRYPT_DATA_BLOB	<>
EnhancedMetafile	CRYPT_DATA_BLOB	<>
GifFile	CRYPT_DATA_BLOB	<>
SPC_IMAGE	ends

PSPC_IMAGE typedef ptr SPC_IMAGE

SPC_SP_AGENCY_INFO	struct 
pPolicyInformation DWORD ?
pwszPolicyDisplayText	LPWSTR	?
pLogoImage	PSPC_IMAGE	?
pLogoLink DWORD ?
SPC_SP_AGENCY_INFO	ends

PSPC_SP_AGENCY_INFO typedef ptr SPC_SP_AGENCY_INFO

SPC_STATEMENT_TYPE	struct 
cKeyPurposeId	DWORD	?
rgpszKeyPurposeId	DWORD	?
SPC_STATEMENT_TYPE	ends

PSPC_STATEMENT_TYPE typedef ptr SPC_STATEMENT_TYPE

SPC_SP_OPUS_INFO	struct 
pwszProgramName	LPWSTR	?
pMoreInfo DWORD ?
pPublisherInfo DWORD ?
SPC_SP_OPUS_INFO	ends

PSPC_SP_OPUS_INFO typedef ptr SPC_SP_OPUS_INFO

CAT_NAMEVALUE	struct 
pwszTag	LPWSTR	?
fdwFlags	DWORD	?
Value	CRYPT_DATA_BLOB	<>
CAT_NAMEVALUE	ends

PCAT_NAMEVALUE typedef ptr CAT_NAMEVALUE

CAT_MEMBERINFO	struct 
pwszSubjGuid	LPWSTR	?
dwCertVersion	DWORD	?
CAT_MEMBERINFO	ends

PCAT_MEMBERINFO typedef ptr CAT_MEMBERINFO

	include poppack.inc
ifdef WT_DEFINE_ALL_APIS
WIN_CERTIFICATE	struct 
dwLength	DWORD	?
wRevision	WORD	?
wCertificateType	WORD	?
bCertificate	BYTE ANYSIZE_ARRAY dup (?)
WIN_CERTIFICATE	ends

LPWIN_CERTIFICATE typedef ptr WIN_CERTIFICATE

WIN_CERT_REVISION_1_0	EQU	0100h
WIN_CERT_REVISION_2_0	EQU	0200h
WIN_CERT_TYPE_X509	EQU	0001h
WIN_CERT_TYPE_PKCS_SIGNED_DATA	EQU	0002h
WIN_CERT_TYPE_RESERVED_1	EQU	0003h
WIN_CERT_TYPE_TS_STACK_SIGNED	EQU	0004h
WIN_TRUST_SUBJECT typedef LPVOID
WIN_TRUST_ACTDATA_CONTEXT_WITH_SUBJECT	struct 
hClientToken	HANDLE	?
SubjectType	DWORD	?
Subject	WIN_TRUST_SUBJECT	?
WIN_TRUST_ACTDATA_CONTEXT_WITH_SUBJECT	ends

LPWIN_TRUST_ACTDATA_CONTEXT_WITH_SUBJECT typedef ptr WIN_TRUST_ACTDATA_CONTEXT_WITH_SUBJECT

WIN_TRUST_ACTDATA_SUBJECT_ONLY	struct 
SubjectType	DWORD	?
Subject	WIN_TRUST_SUBJECT	?
WIN_TRUST_ACTDATA_SUBJECT_ONLY	ends

LPWIN_TRUST_ACTDATA_SUBJECT_ONLY typedef ptr WIN_TRUST_ACTDATA_SUBJECT_ONLY

WIN_TRUST_SUBJTYPE_RAW_FILE	EQU	<{ 959dc450h , 8d9eh , 11cfh , { 87h , 36h , 00h , 0aah , 00h , 0a4h , 85h , 0ebh } }>
WIN_TRUST_SUBJTYPE_PE_IMAGE	EQU	<{ 43c9a1e0h , 8da0h , 11cfh , { 87h , 36h , 00h , 0aah , 00h , 0a4h , 85h , 0ebh } }>
WIN_TRUST_SUBJTYPE_JAVA_CLASS	EQU	<{ 08ad3990h , 8da1h , 11cfh , { 87h , 36h , 00h , 0aah , 00h , 0a4h , 85h , 0ebh } }>
WIN_TRUST_SUBJTYPE_CABINET	EQU	<{ 0d17c5374h , 0a392h , 11cfh , { 9dh , 0f5h , 0h , 0aah , 0h , 0c1h , 84h , 0e0h } }>
WIN_TRUST_SUBJECT_FILE	struct 
hFile	HANDLE	?
lpPath	LPWSTR	?
WIN_TRUST_SUBJECT_FILE	ends

LPWIN_TRUST_SUBJECT_FILE typedef ptr WIN_TRUST_SUBJECT_FILE

WIN_TRUST_SUBJTYPE_RAW_FILEEX	EQU	<{ 6f458110h , 0c2f1h , 11cfh , { 8ah , 69h , 0h , 0aah , 0h , 6ch , 37h , 6h } }>
WIN_TRUST_SUBJTYPE_PE_IMAGEEX	EQU	<{ 6f458111h , 0c2f1h , 11cfh , { 8ah , 69h , 0h , 0aah , 0h , 6ch , 37h , 6h } }>
WIN_TRUST_SUBJTYPE_JAVA_CLASSEX	EQU	<{ 6f458113h , 0c2f1h , 11cfh , { 8ah , 69h , 0h , 0aah , 0h , 6ch , 37h , 6h } }>
WIN_TRUST_SUBJTYPE_CABINETEX	EQU	<{ 6f458114h , 0c2f1h , 11cfh , { 8ah , 69h , 0h , 0aah , 0h , 6ch , 37h , 6h } }>
WIN_TRUST_SUBJECT_FILE_AND_DISPLAY	struct 
hFile	HANDLE	?
lpPath	LPWSTR	?
lpDisplayName	LPWSTR	?
WIN_TRUST_SUBJECT_FILE_AND_DISPLAY	ends

LPWIN_TRUST_SUBJECT_FILE_AND_DISPLAY typedef ptr WIN_TRUST_SUBJECT_FILE_AND_DISPLAY

WIN_TRUST_SUBJTYPE_OLE_STORAGE	EQU	<{ 0c257e740h , 8da0h , 11cfh , { 87h , 36h , 00h , 0aah , 00h , 0a4h , 85h , 0ebh } }>
WIN_SPUB_ACTION_TRUSTED_PUBLISHER	EQU	<{ 66426730h , 8da1h , 11cfh , { 87h , 36h , 00h , 0aah , 00h , 0a4h , 85h , 0ebh } }>
WIN_SPUB_ACTION_NT_ACTIVATE_IMAGE	EQU	<{ 8bc96b00h , 8da1h , 11cfh , { 87h , 36h , 00h , 0aah , 00h , 0a4h , 85h , 0ebh } }>
WIN_SPUB_ACTION_PUBLISHED_SOFTWARE	EQU	<{ 64b9d180h , 8da2h , 11cfh , { 87h , 36h , 00h , 0aah , 00h , 0a4h , 85h , 0ebh } }>
WIN_SPUB_TRUSTED_PUBLISHER_DATA	struct 
hClientToken	HANDLE	?
lpCertificate	LPWIN_CERTIFICATE	?
WIN_SPUB_TRUSTED_PUBLISHER_DATA	ends

LPWIN_SPUB_TRUSTED_PUBLISHER_DATA typedef ptr WIN_SPUB_TRUSTED_PUBLISHER_DATA

endif 
ifdef __cplusplus
;}
endif 
endif 

;--- errors: 0
;--- end of file ---
